Format |
Syntax: |
Operation: |
Operands: |
Architecture revision |
Opcode | ||||||||||||
1 |
padds.ub Rd, Rx, Ry |
Rd[31:24] = SATU(ZE(Rx[31:24], 9) + ZE(Ry[31:24], 9), 8) ; Rd[23:16] = SATU(ZE(Rx[23:16], 9) + ZE(Ry[23:16], 9), 8); Rd[15:8] = SATU(ZE(Rx[15:8], 9) + ZE(Ry[15:8], 9), 8); Rd[7:0] = SATU(ZE(Rx[7:0], 9) + ZE(Ry[7:0], 9), 8); |
I, II, III, IV.{d, x, y} ∈ {0, 1, …, 15} |
Rev1+ |
| ||||||||||||
2 |
padds.sb Rd, Rx, Ry |
Rd[31:24] = SATS(SE(Rx[31:24], 9) + SE(Ry[31:24], 9), 8); Rd[23:16] = SATS(SE(Rx[23:16], 9) + SE(Ry[23:16], 9), 8); Rd[15:8] = SATS(SE(Rx[15:8], 9) + SE(Ry[15:8], 9), 8); Rd[7:0] = SATS(SE(Rx[7:0], 9) + SE(Ry[7:0], 9), 8); |
I, II, III, IV.{d, x, y} ∈ {0, 1, …, 15} |
Rev1+ |
| ||||||||||||
3 |
padds.uh Rd, Rx, Ry |
Rd[31:16] = SATU(ZE(Rx[31:16], 17) + ZE(Ry[31:16], 17), 16); Rd[15:0] = SATU(ZE(Rx[15:0], 17) + ZE(Ry[15:0], 17), 16); |
I, II, III, IV.{d, x, y} ∈ {0, 1, …, 15} |
Rev1+ |
| ||||||||||||
4 |
padds.sh Rd, Rx, Ry |
Rd[31:16] = SATS(SE(Rx[31:16], 17) + SE(Ry[31:16], 17), 16); Rd[15:0] = SATS(SE(Rx[15:0], 17) + SE(Ry[15:0], 17), 16); |
I, II, III, IV.{d, x, y} ∈ {0, 1, …, 15} |
Rev1+ |
|
Perform addition of four pairs of packed bytes or two pairs of halfwords. The result is saturated to either unsigned bytes (padds.ub), signed bytes (padds.sb), unsigned halfwords (padds.uh) or signed halfwords (padds.sh).
Q: |
Flag set if saturation occured in one or more of the partial operations. |
V: |
Not affected. |
N: |
Not affected. |
Z: |
Not affected. |
C: |
Not affected. |